package dao;

import domain.*;

import java.util.List;
import java.util.Map;

public interface AdminDao {
    /**
     * 管理员登录
     * @param username
     * @param password
     * @return
     */
    Administrator findUsersByUsernameAndPassword(String username, String password);

    /**
     * 计算用户信息个数
     * @return
     * @param condition
     */
    int findTotalCount(Map<String, String[]> condition);

    /**
     * 分页查询某一页用户信息
     * @param start
     * @param rows
     * @param condition
     * @return
     */
    List<User> findByPage(int start, int rows, Map<String, String[]> condition);

    /**
     * 删除用户
     * @param parseInt
     */
    void delete(int parseInt);

    /**
     * 计算文章数量
     * @return
     */
    int findTotalCountFromArticle();

    /**
     * 查询所有文章内容
     * @param start
     * @param rows
     * @return
     */
    List<Article> findByPageFromArticle(int start, int rows);

    User findUserByCode(String code);

    Category findCategory(int cid);

    int updateUsernameAndPassword(int id, String username, String password);

    void deleteCategoryByCid(int parseInt);

    int findTotalCountFromCategory();

    List<Category> findByPageFromCategory(int start, int rows);

    void addCategory(String cname);

    int findTotalCountFromLabel();

    List<Label> findByPageFromLabel(int start, int rows);

    void deleteLabel(int lid);

    void addLabel(String lname);

    Administrator findOneAdmin(String username);
}
